package cminus;

import javax.swing.tree.DefaultTreeModel;


public class Tree extends DefaultTreeModel{
	/**
	 * 带参数的构造方法，设置了根节点
	 * @param rootTreeNode
	 */
		public Tree(TreeNode rootTreeNode)
		{
			super(rootTreeNode);
		}
		
	public void reload(TreeNode node ,TreeCreator creator)
	{
		TreeNode parent = (TreeNode)node.getParent();	//获取node节点的父节点
		if(parent==null) return ;		//若父节点为null，直接返回，不需要reload
		int index = parent.getIndex(node);	//获取子节点在父节点中的索引
		parent.remove(index);		//先将子节点从父节点中删除
		node = creator.createNode(node.getFile());	//再通过TreeCreator重新获取子节点
		parent.insert(node, index);		//添加到父节点中
		super.reload(node);			//调用父类的reload方法
		
	}
}
